package com.kx.service_exam.service.interfaces;

import com.github.pagehelper.PageInfo;
import com.kx.service_exam.model.ExamModule;
import com.kx.service_exam.model.ExamModuleTemplate;
import com.kx.service_exam.vo.query.ExamModuleQueryVO;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

public interface IExamModuleSV {

    /**
     * 新增记录
     * @param examModule
     * @return
     */
    int insertExamModule(ExamModule examModule);

    /**
     * 逻辑删除
     * @param examModule
     * @return
     */
    int logicalDeleteExamModule(ExamModule examModule);

    /**
     * 物理删除
     * @param id
     * @return
     */
    int deleteExamModule(String id);

    /**
     * 修改记录
     * @param examModule
     * @return
     */
    int updateExamModule(ExamModule examModule);

    /**
     * 根据主键查询记录
     * @param id
     * @return
     */
    ExamModule selectExamModuleById(String id);

    /**
     * 根据过滤条件查询总记录数
     * @param filter
     * @return
     */
    long countExamModuleByFilter(ExamModuleQueryVO filter) throws ParseException;

    /**
     * 根据过滤条件查询记录
     * @param filter
     * @return
     */
    List<ExamModule> listExamModuleByFilter(ExamModuleQueryVO filter) throws ParseException;

    /**
     * 分页
     * @return
     */
    PageInfo<ExamModule> pageExamModuleByFilter(ExamModuleQueryVO filter) throws ParseException;

    List<ExamModuleTemplate> listExamModuleTemplate();
}
